package com.train.webadmin.app.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * 试卷题目VO视图对象。
 *
 * @author xulei
 * @date 2025-03-07
 */
@Schema(description = "试卷题目VO视图对象")
@Data
public class TQuestionInfoVo {

    /**
     * 题目id。
     */
    @Schema(description = "题目id")
    private Long id;

    /**
     * 课程id。
     */
    @Schema(description = "课程id")
    private Long courseId;

    /**
     * 试卷id。
     */
    @Schema(description = "试卷id")
    private Long paperId;

    /**
     * 题干。
     */
    @Schema(description = "题干")
    private String title;

    /**
     * 类型。
     */
    @Schema(description = "类型")
    private Integer types;

    /**
     * 解析。
     */
    @Schema(description = "解析")
    private String remark;

    /**
     * 分数。
     */
    @Schema(description = "分数")
    private Double score;

    /**
     * 难度。
     */
    @Schema(description = "难度")
    private Integer degree;

    /**
     * 创建时间。
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 更新时间。
     */
    @Schema(description = "更新时间")
    private Date updateTime;

    /**
     * 创建人id。
     */
    @Schema(description = "创建人id")
    private Long createUserId;

    /**
     * 修改人id。
     */
    @Schema(description = "修改人id")
    private Long updateUserId;

    /**
     * 正确答案。
     */
    @Schema(description = "正确答案")
    private String correctAnswer;

    /**
     * 选项。
     */
    @Schema(description = "选项")
    private String options;

    /**
     * courseId 的一对一关联数据对象，数据对应类型为CourseInfoVo。
     */
    @Schema(description = "courseId 的一对一关联数据对象，数据对应类型为CourseInfoVo")
    private Map<String, Object> courseInfo;

    /**
     * courseId 字典关联数据。
     */
    @Schema(description = "courseId 字典关联数据")
    private Map<String, Object> courseIdDictMap;

    /**
     * paperId 字典关联数据。
     */
    @Schema(description = "paperId 字典关联数据")
    private Map<String, Object> paperIdDictMap;
}
